\begin{tikzpicture}[
node distance = 2cm and 2cm,
     N/.style = {circle, draw, font=\Large, 
                 minimum size=1.1em},
       every edge/.style = {draw, -Stealth, semithick, shorten >=2pt},
every edge quotes/.style = {auto=right, inner sep=2pt}
                        ]
\node[N] (a)[label=left :{+ -}] {1};
\node[N] (b)[right of=a] [label=below left :{+}] {2};
\node[N] (c)[right of=b][label=right :{-}]{3};
\node[N] (d)[below of=b][label=right :{-}]{4};
\node (a1) at ([xshift=-2em,yshift=2em]a.north){(1)状态图:};
\path
(a) edge [above] node {a} (b)
    edge [above] node {b} (d)
(b) edge [above] node {c} (c)
(b) edge [bend right,below] node {$\varepsilon$}(c)
    edge [loop above] node {b} ()
(d) edge [loop above] node {b} ()
    ;
    \end{tikzpicture}